1
Единая навигация с итераторами
AI037Lesson 6
00:00

Представьте, что вы перемещаетесь по обширной местности. Будь то движение по прямой автомагистрали (как вектор) или прогулка по извилистой лесной тропе (как список), вам нужен универсальный навигатор. В C++ таким навигатором является итератор.

Мост генерической программирования

Итераторы выступают в качестве обобщённого механизма для навигации по элементам контейнера, служа мостом между алгоритмами и структурами данных. Используя единый интерфейс (begin/end), C++ достигает генерической программирования. Это позволяет одной и той же логике работать с различными коллекциями без необходимости знания внутренней структуры памяти.

⚠️ Невалидность итератора: КРИТИЧНО: Любая циклическая конструкция, использующая итератор для прохода по контейнеру, не должна добавлять элементы в этот контейнер. Такие действия могут сделать существующие итераторы «устаревшими» (невалидными), что приведёт к неопределённому поведению или сбоям программы.
's''o''m''e'begin()end() (за пределами последнего элемента)

Стандартные операции

Функция begin возвращает итератор на первый элемент, в то время как end возвращает сентинель представляющий элемент, следующий за последним.

  • *итер: Доступ к элементу через разыменование.
  • ++итер / --итер: Движение.
  • == / !=: Операторы равенства для проверки позиции.
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>